﻿#ifndef PAGE1_H
#define PAGE1_H

#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QRadioButton>
#include <QPushButton>
#include <QButtonGroup>

class Page1 : public QWidget
{
    Q_OBJECT

public:
    explicit Page1(QWidget* parent = nullptr);

signals:
    void nextPageRequested();
    void adminLogin();
    void salesLogin();
    void warehouseLogin();
    void financeLogin();
    void errloading();
public slots:
    void onLoginButtonClicked();
    void updateConnectionButtonColor(bool isFilled);
private slots:
    void errloadingFunc(); // 显示错误对话框
    void showErrorDialog(); // 错误对话框
    void updateLoginButtonState(); // 更新登录按钮状态
   void openConnectionDialog(); // 打开连接对话框
private:
    bool validateCredentials(); // 验证用户凭据
    QLineEdit* accountEdit; // 账号输入框
    QLineEdit* passwordEdit; // 密码输入框
    QPushButton* togglePasswordButton; // 切换密码可见性的按钮
    QRadioButton* adminRadioButton; // 老板单选按钮
    QRadioButton* salesRadioButton; // 销售管理员单选按钮
    QRadioButton* warehouseRadioButton; // 库存管理员单选按钮
    QRadioButton* financeRadioButton; // 财务管理员单选按钮
    QButtonGroup* roleGroup; // 角色按钮组
    QPushButton* loginButton; // 登录按钮
    QPushButton* helpButton;
    QPushButton*  connectionButton;//选择连接数据库按钮
   void clearInputFields();
    void readConfigFile(QString &dbType, QString &dbName, QString &host, int &port, QString &user, QString &pass);
};

#endif // PAGE1_H
